package cn.yh.shop.admin.service;

import java.util.List;
import java.util.Map;
import cn.yh.shop.admin.model.Menu;

/**
 * @Description:菜单管理
 * @author:"许荣斐"
 * @time:2016年12月20日 上午11:37:09
 */
public interface IMenuService {
	
	/**
	 * @Description:根据父菜单，查询子菜单
	 * @param parentId 父菜单ID
	 * @param menuIdList 用户菜单ID
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:37:27
	 */
	List<Menu> queryListParentId(Integer parentId, List<Integer> menuIdList);
	
	/**
	 * @Description:获取不包含按钮的菜单列表
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:43:42
	 */
	List<Menu> queryNotButtonList();
	
	/**
	 * @Description:获取用户菜单列表
	 * @param userId
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:43:57
	 */
	List<Menu> getUserMenuList(Integer userId);
	
	/**
	 * @Description:查询菜单
	 * @param menuId
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:44:22
	 */
	Menu queryObject(Integer menuId);
	
	/**
	 * @Description:查询菜单列表
	 * @param map
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:44:35
	 */
	List<Menu> queryList(Map<String, Object> map);
	
	/**
	 * @Description:查询总数
	 * @param map
	 * @author: "许荣斐"
	 * @time:2016年12月20日 上午11:44:54
	 */
	int queryTotal(Map<String, Object> map);
	
	/**
	 * 保存菜单
	 */
	void save(Menu menu);
	
	/**
	 * 修改
	 */
	void update(Menu menu);
	
	/**
	 * 删除
	 */
	void deleteBatch(Integer[] menuIds);
}
